package com.jl15988.simpletools.appcore.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jl15988.simpletools.appcore.dto.AuditDTO;
import com.jl15988.simpletools.appcore.dto.AuditQueryDTO;
import com.jl15988.simpletools.appcore.dto.AuditRequestDTO;

/**
 * 审核服务接口
 *
 * @author jl15988
 */
public interface AuditService {

    /**
     * 分页查询审核列表
     *
     * @param query 查询条件
     * @return 分页结果
     */
    IPage<AuditDTO> getAuditPage(AuditQueryDTO query);

    /**
     * 获取应用最新的审核记录
     *
     * @param appId 应用ID
     * @return 审核记录
     */
    AuditDTO getLatestAudit(Long appId);

    /**
     * 提交审核
     *
     * @param request 审核请求DTO
     * @param auditorId 审核人ID
     * @param auditorName 审核人名称
     * @return 审核ID
     */
    Long submitAudit(AuditRequestDTO request, Long auditorId, String auditorName);

    /**
     * 获取待审核应用数量
     *
     * @return 待审核应用数量
     */
    Long getPendingAuditCount();

    /**
     * 获取开发者待审核应用数量
     *
     * @param developerId 开发者ID
     * @return 待审核应用数量
     */
    Long getDeveloperPendingAuditCount(Long developerId);
} 